using HumanElement.Xna.Core;

namespace HumanElement.Xna
{
    public interface INode : IName, IIndex<int>
    {
        /// <summary>
        /// Gets the parent.
        /// </summary>
        /// <value>The parent.</value>
        IPhysical Parent { get; }

        /// <summary>
        /// Gets the children.
        /// </summary>
        /// <value>The children.</value>
        IPhysical[] Children { get; }

        /// <summary>
        /// Gets the type of the node.
        /// </summary>
        /// <value>The type of the node.</value>
        NodeType NodeType { get; }
    }
}